/**
 * Ajax操作结果
 */
package utils;

import org.json.JSONObject;

public class AjaxResult {
    private JSONObject result = new JSONObject();
    private int code;
    private String msg;
    private JSONObject body = new JSONObject();
    
    /**
     * 操作结果代码
     * 0 - 成功
     * 1 - 失败
     */
    public static final int CODE_SUCCESS = 0;
    public static final int CODE_ERROR = 1;
    
    /**
     * 构造方法
     * 
     * @param code {int} 操作结果代码
     * @param msg {String} 结果提示语
     */
    public AjaxResult(int code, String msg) {
        this.code = code;
        this.msg = msg;
    }
    
    /**
     * 添加返回数据（字段）
     * 添加在body中
     * 
     * @param key   {String} 字段名
     * @param value {String} 字段值
     */
    public void addData(String key, String value) {
        this.body.put(key, value);
    }
    
    /**
     * 添加返回数据（字段）
     * 添加在body中
     * 
     * @param key   {String} 字段名
     * @param value {int}    字段值
     */
    public void addData(String key, int value) {
        this.body.put(key, value);
    }
    
    /**
     * 添加返回数据（字段）
     * 添加在body中
     * 
     * @param key   {String}  字段名
     * @param value {boolean} 字段值
     */
    public void addData(String key, boolean value) {
        this.body.put(key, value);
    }
    
    /**
     * 添加返回数据（字段）
     * 添加在body中
     * 
     * @param key   {String} 字段名
     * @param value {long}   字段值
     */
    public void addData(String key, long value) {
        this.body.put(key, value);
    }
    
    /**
     * 添加返回数据（字段）
     * 添加在body中
     * 
     * @param key   {String} 字段名
     * @param value {Object} 字段值
     */
    public void addData(String key, Object value) {
        this.body.put(key, value);
    }
    
    /**
     * 返回结果字符串
     */
    public String toString() {
        result.put("code", code);
        result.put("msg", msg);
        result.put("body", body);
        return result.toString();
    }
}
